home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / HardwareProjects / VideoText.lha / VideoText4.2 / source / Notizen < prev    next >
Encoding:
Text File  |  1995-05-31  |  11.3 KB  |  277 lines

  1.  
  2. Das ist keine vollständige Dokumenation, eher "strange and amazing facts".
  3.  
  4.  
  5.  
  6. Programmierung des SAA 5246
  7. ===========================
  8.  
  9. Der SAA 5246 ist registerkompatibel mit seinem Vorgängermodell SAA 5243,
  10. abgesehen von den neu hinzugekommenen Registern R11B (Statusregister) und
  11. R0 (u. a. Umschaltung R11/R11B).
  12.  
  13.  
  14. ***R1
  15.  
  16. Bit 2 (TCS on) sorgt für Synchronisation des RGB-Ausgangssignals mit der
  17. Videoquelle, sollte für Fernsehdarstellung also immer gesetzt sein.
  18. Anscheinend wird es aber beim Einschalt-Reset gelöscht!
  19.  
  20.  
  21. ***R2:
  22.  
  23. Bit 4 und 5 wählen eine der vier möglichen Empfangseinheiten aus, Bit 6
  24. bestimmt, ob die angeforderte Seite in die obere oder untere Speicherbank
  25. abgelegt wird.
  26.  
  27. Trifft eine Seite ein, nach der mehr als eine Empfangseinheit sucht, so
  28. wird die Einheit mit der niedrigsten Nummer diese Seite einlesen, die
  29. anderen Einheiten ignorieren sie.
  30.  
  31.  
  32. ***R3:
  33.  
  34. Das _HOLD-Bit ist die angemessene Methode, die Seitensuche einer einzelnen
  35. Empfangseinheit zu stoppen, z. B. um in Ruhe ihren Seitenspeicher über den
  36. I²C-Bus auslesen zu können. Die Wirkung tritt unmittelbar nach Beschreiben
  37. von R3 mit _HOLD=0 ein, d. h. nicht einmal evtl. ausstehende Folgezeilen
  38. einer kurz zuvor empfangenen Kopfzeile werden mehr eingelesen. Der restliche
  39. Inhalt der R3-Unterregister ist dabei völlig egal, solange bis eine neue
  40. Seitenbeschreibung mit _HOLD=1 vorgenommen wird.
  41.  
  42. Der Vorteil gegenüber der Holzhammermethode "ACQ OFF" liegt darin, daß die
  43. übrigen Empfangseinheiten nicht behindert werden, und daß die Uhrzeitanzeige
  44. am Fernseher weiterläuft. Der Nachteil ist, daß zum Wiedereinschalten die
  45. Seitensuche neu programmiert werden muß, ärgerlich, wenn man eigentlich
  46. gar nichts verändern, sondern nur weitere Unterseiten sehen will.
  47.  
  48.  
  49. ***R4:
  50.  
  51. Die zur Anzeige am Fernseher ausgewählte Seite ist auch die einzige, in der
  52. laufend die Uhrzeit aktualisiert wird!
  53.  
  54.  
  55. ***R5/R6:
  56.  
  57. R5 wird auf gewöhnliche Seiten angewandt, R6 auf Schlagzeilen und Untertitel,
  58. wenn sie durch die entsprechenden Steuerbits (C5 bzw. C6) gekennzeichnet
  59. sind. Sinn: Schlagzeilen/Untertitel sollen für gewöhnlich mit dem Fernsehbild
  60. kombiniert werden (und enthalten zu diesem Zweck Boxen: von doppeltem
  61. chr(11) und chr(10) umschlossene Bereiche), normale Seiten nicht.
  62.  
  63. nochmal kurz die Bedeutung der Bits:
  64.  
  65. Bit 0: Fernsehbild dient als Boxhintergrund
  66. Bit 1: Fernsehbild dient der restlichen Seite als Hintergrund
  67. Bit 2: Boxtext ein
  68. Bit 3: restlicher Seitentext ein
  69. Bit 4: ( Kontrastreduzierung )
  70. Bit 5: (      = Unfug        )
  71. Bit 6: Box ist undurchsichtig
  72. Bit 7: restliche Seite ist undurchsichtig
  73.  
  74. Besonderheiten:
  75.  
  76. - Wenn eine Box undurchsichtig ist (Bit 6), ist es egal, ob das Fernsehbild
  77.   hinter ihr sichtbar ist (Bit 0).
  78.   Wenn dagegen eine ganze Seite undurchsichtig ist (Bit 7), bestimmt Bit 1,
  79.   ob der Rahmen schwarz ist, oder ob ringsum noch etwas Fernsehbild
  80.   sichtbar bleibt.
  81.  
  82. - Es ist nicht sinnvoll, hinter einem durchsichtigen Bereich das Fernsehbild
  83.   auszuschalten: Durchsichtig bewirkt in diesem Fall, daß alle Hintergrund-
  84.   farben schwarz erscheinen, sieht bei Grafikseiten ziemlich ätzend aus.
  85.  
  86. - Es ist grober Unfug, hinter einem ausgeschaltetem Textbereich das
  87.   Fernsehbild auszuschalten: Es entstehen einfach schwarze Flächen.
  88.  
  89. Einige sinnvolle Bitkombinationen:
  90.  
  91. Textdarstellung  |  R5         |  R6
  92. -----------------+-------------+-------------
  93. Vollbild         |  %11001100  |  %11001100
  94. nur Kernfläche   |  %11001111  |  %01001111
  95. durchsichtig     |  %00001111  |  %00001111
  96. aus              |  %00000011  |  %00000011
  97.  
  98. Wobei R5=Vollbild/R6=Kernfläche und R5=Vollbild/R6=Vollbild die üblichsten
  99. Anwendungen sein dürften
  100.  
  101.  
  102. ***R8:
  103.  
  104. Der Löschvorgang, der bei Anwählen einer Seite ausgelöst werden kann, dauert
  105. laut Datenblatt bis zu 22 ms.
  106.  
  107.  
  108. ***R11:
  109.  
  110. Für die Programmierung sind insbesondere die Statusdaten in Zeile 25, Byte
  111. 0 bis 9 interessant, Lage der Bits s. Datenblatt. Die Steuerbits werden
  112. der Kopfzeile entnommen und sind darum sofort nach Ankündigung der neuen
  113. Seite (durch Löschen von PBLF und _FOUND) aktuell, ebenso wie die Seiten-
  114. und Unterseitennummer.
  115.  
  116. _FOUND: kann durch einen externen Schreibzugriff gesetzt werden, nützlich.
  117.  
  118. PBLF: wird bei der Programmierung der Seitenanforderung (R2/R3) gesetzt,
  119.         ebenso bei Aktivierung der Empfangseinheit (durch ACQ ON). Kann
  120.         wie _FOUND auch "von Hand" gesetzt werden, und ist dazu evtl. sogar
  121.         geeigneter, da es in einem eigenen Byte steht.
  122.  
  123. C4/C8: Nach Eintreffen der Kopfzeile einer gesuchten Seite löscht der
  124.         Decoder zunächst den zugehörigen Seitenspeicher (22 ms, s. o.),
  125.         und kann darum nicht sofort, sondern erst im nächsten Halbbild,
  126.         mit dem Empfang von Folgezeilen beginnen.
  127.         Ein verfeinertes Verfahren benutzt die Steuerbits und sendet die
  128.         Kopfzeile zweimal: einmal mit C4 (Löschen) gesetzt ("Vorkopfzeile"),
  129.         und im darauffolgenden Halbbild mit C8 (Texterneuerung) gesetzt.
  130.         Durch C8 weiß der Decoder, daß er den Seitenspeicher bereits gelöscht
  131.         hat, und kann sofort mit dem Empfang von Folgezeilen beginnen.
  132.         Ein Problem besteht nun darin, daß das geniale Verfahren zur
  133.         Erkennung vollständigen Seitenempfangs (s. u.), wenn es schnell
  134.         genug ist, die C4-Kopfzeile für den Empfangsbeginn und die
  135.         C8-Kopfzeile für den Beginn der nächsten Seite (=Empfangsende)
  136.         halten kann. Hmmm. Tritt das wirklich auf? Evtl. Lösung: wenn
  137.         bei PBLF=0 auch C4=1 gelesen wurde, PBLF erneut setzen. Sollte
  138.         vor Eintreffen der C8-Zeile zu schaffen sein ...
  139.  
  140.         Ich habe mal geschaut, wie die beiden Steuerbits in der Praxis
  141.         auftreten.  ARD/ZDF verwendet sie nur zusammen, West3 auch schon
  142.         mal C4 alleine (bei den Testseiten 195 und 199). Die Bits stehen
  143.         nur in Seiten, deren Text erneuert werden muß, z. B. in
  144.         Mehrfachseiten, oder einfach bei aktuellen Änderungen des
  145.         Seiteninhalts. Daß eine Kopfzeile zweimal hintereinander gesendet
  146.         wird, habe ich allerdings nie festgestellt.
  147.  
  148. C5 ("Schlagzeile"): Für Seiten, die dafür gedacht sind, ins laufende
  149.         Fernsehbild eingeblendet zu werden, wie 111, 222 und 333.
  150.  
  151. C6 ("Untertitel"): Ähnlich C6, aber Untertitel (wie S. 150) sind doch etwas
  152.         anders als Schlagzeilen, da sich ihr Inhalt *sehr* oft ändert.
  153.  
  154. C7 ("Kopfzeile unterdrücken"): Macht Sinn bei Schlagzeilen und Untertiteln,
  155.         wo Uhr und Seitenkontrolle nicht dauernd gebraucht werden und eher
  156.         stören. Wird von ARD/ZDF aber nicht verwendet.
  157.  
  158. C9 ("Unterbrochene Sequenz"): Normalerweise werden alle Seiten zyklisch in
  159.         Reihenfolge aufsteigender Seitennummer gesendet, von Seite 100 bis
  160.         Seite 899. Ausnahmen von dieser Regel werden freundlicherweise durch
  161.         dieses Bit gekennzeichnet und dienen normalerweise dem Zweck, eine
  162.         wichtige Seitennummer mehrmals (ca. 3-6mal) im Seitenzyklus
  163.         unterzubringen. Beispiele sind Untertitel, Schlagzeilen,
  164.         Inhaltsübersichten oder der Flugplan des Düsseldorfer Flughafens
  165.         auf West3-Text.
  166.         Der Decoder benutzt dieses Bit, damit am Fernseher die oben links
  167.         durchlaufenden Nummern nicht ganz so verwirrend wirken: nur die
  168.         Seiten aus aufsteigender Sequenz (C9=0) werden hier angezeigt.
  169.  
  170. C10 ("Unterdrückung der Darstellung"): Für Seiten, deren Darstellung dem
  171.         Benutzer nicht viel bringen würde (falls er überhaupt mal auf sie
  172.         stoßen sollte), z. B. die Steuerseiten 879 und 880 im West3-Text.
  173.         Leider werden nicht alle Seiten mit Binärdaten auf diese Weise
  174.         geschützt, z. B. nicht die Seite 689 (codierte Verkehrshinweise).
  175.         ARD/ZDF verwenden das Bit C10 anscheinend gar nicht.
  176.  
  177. C11 ("Serielle Magazinfolge"): Wenn C11 gesetzt ist, folgen auf eine
  178.         Kopfzeile nur ihre eigenen Unterzeilen, dann kommt die nächste
  179.         Kopfzeile, usw. Bei C11=0 können dagegen Zeilen von bis zu 8 Seiten
  180.         durcheinander ankommen. Das ist möglich, da jede Zeile eine Zeilen-
  181.         und eine Magazinnummer enthält. Bedeutsam für das geniale Verfahren
  182.         zur Erkennung vollständigen Seitenempfangs (s. u.).
  183.         C11=1 ist das üblichere Verfahren.
  184.  
  185. Aus der CT 10/92 stammt ein geniales Verfahren, um das Ende einer
  186. Seitenübertragung zu erkennen. Die Bits PBLF und _FOUND werden ja bereits
  187. bei Eintreffen der Kopfzeile gelöscht, und weitere Meldungsbits existieren
  188. nicht. Idee ist, eine zusätzliche Empfangseinheit zu verwenden, um das
  189. Eintreffen der nächsten Kopfzeile abzuwarten.
  190.  
  191. Dazu wird nach Empfang der erwünschten Kopfzeile (PBLF=0) ein niederprioriger
  192. Empfangskreis auf eine beliebige Seite programmiert (alle DOCARE-Bits Null),
  193. bzw. bei C11=0 auf eine beliebige Seite desselben Magazins. Sobald eine
  194. Kopfzeile eingetroffen ist (PBLF=0), ist die erwünschte Seite komplett.
  195.  
  196. Kleiner Nachteil des Verfahrens: Nur noch Empfangseinheiten 0, 1 und 2
  197. stehen für die Seitensuche zur Verfügung, Einheit 3 muß für das Warten auf
  198. "irgendeine Kopfzeile" freigehalten werden.
  199.  
  200.  
  201.  
  202. TOP-Videotext
  203. =============
  204.  
  205.  
  206. Ziffern in allen TopText-Seiten sind codiert, um Übertragungsfehler
  207. erkennen zu können:
  208.  
  209. TopText-Codierung        Hex-Ziffer
  210. -----------------        ----------
  211.     21  $15 %00010101   0
  212.      2  $02 %00000010   1
  213.  I   73  $49 %01001001   2
  214.  ^   94  $5E %01011110   3
  215.  d  100  $64 %01100100   4
  216.  s  115  $73 %01110011   5
  217.  8   56  $38 %00111000   6
  218.  /   47  $2F %00101111   7
  219.  P   80  $50 %01010000   8
  220.  G   71  $47 %01000111   9
  221.     12  $0C %00001100   A
  222.     27  $1B %00011011   B
  223.  !   33  $21 %00100001   C
  224.  6   54  $36 %00110110   D
  225.  }  125  $7D %01111101   E
  226.  j  106  $6A %01101010   F
  227.  
  228. Nunja, eigentlich soll man die Übertragungsfehler sogar korrigieren
  229. können, da dies ein Hamming-Code ist. Aber um den richtig auswerten zu
  230. können, muß man die Paritätsbit-Prüfung des Decoders ausschalten, damit
  231. bit 7 nicht nach Prüfung gelöscht wird. Das hätte ich vielleicht früher
  232. wissen müssen.
  233.  
  234.  
  235. Leitseite
  236. ---------
  237.  
  238. Die Pseudo-Seitennummern 1F0 (mit einer originellen Unterseitennummer wie
  239. 3F60 o. ä.) ist die Toptext-Leitseite.
  240. Sie enthält ab der zweiten Zeile 800 Ziffern, die je einer Seitennummer
  241. zugeordnet sind. Bedeutung:
  242.  
  243.  
  244. 0 1 2 3 4 5 6 7 8 9 A B C D E F
  245. *                                   Seite nicht benutzt
  246.   *                                 Untertitel
  247.   * * * * * * *   *   *             im Schlagwortkatalog erwähnt
  248.       *   *   *     * *             Mehrfachseite
  249.     * *                             Programmvorschau
  250.         * *                         Blockseite
  251.             * *                     Gruppenseite
  252.                 * * * *             Normale Seite
  253.  
  254. Der Rest der Seite enthält Angaben über die übrigen TopText-Seiten, in
  255. 8er-Gruppen: 3 Byte Seitennummer, 4 Byte Unterseitennummer, 1 Byte
  256. Inhaltsangabe: 1=Unterseitentabelle, 2=Schlagwortkatalog, 3= >-(
  257.  
  258.  
  259. Unterseitenstatus
  260. -----------------
  261.  
  262. Die Seite (meist 1F1) enthält ab der zweiten Zeile 800 Ziffern, die die
  263. Anzahl Unterseiten der zugehörigen Seitennummer angeben, A=mehr als 9
  264. Unterseiten. Die 1 kommt nie vor, Einfachseiten sind nämlich (was auch
  265. logischer ist) durch 0 gekennzeichnet. Unbenutzte Seitennummern kann man
  266. hieraus aber nicht erkennen, nur aus Seite 1F0!
  267.  
  268.  
  269. Schlagwortkatalog
  270. -----------------
  271.  
  272. Der Schlagwortkatalog ist meistens auf Seite 1F2/1F3 verteilt, manchen
  273. Sendern reicht auch 1F2 alleine, MDR benutzt sogar noch 1F4 als dritte
  274. Seite. Jede Zeile ab der zweiten enthält zwei Einträge à 20 Byte:
  275. 3 Byte Seitennummer, 4 Byte Unterseitennummer, 1 Byte Kurzwahl (für bis zu
  276. 15 mächtig wichtige Seiten), 12 Byte Klartext.
  277.